package com.icinfo.cloud.provider.punish.common.documentoperate.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.util.ObjectUtils;

/**
 * @Description 文书记录状态枚举
 * @Author zhengqiang
 * @Date 2022/5/16 9:51
 **/
@AllArgsConstructor
@Getter
public enum DocumentRecordStatusEnum {

    NORMAL("1", "正常"),
    DRAFT("2", "草稿"),
    WITHDRAW("3", "撤回"),
    /**
     * 文书修改，审批之前未生效状态
     */
    MODIFY("4", "修改"),
    INVALID("0", "已失效");

    /**
     * 编码
     */
    private String code;
    /**
     * 描述
     */
    private String des;

    /**
     * 描述：根据code获取value
     *
     * @param code 编码
     * @return 描述内容
     */
    public static String getValueByCode(String code) {
        if (ObjectUtils.isEmpty(code)) {
            return null;
        }
        for (DocumentRecordStatusEnum e : DocumentRecordStatusEnum.values()) {
            if (code.equals(e.getCode())) {
                return e.getDes();
            }
        }
        return null;
    }

    /**
     * 描述：校验code是否是合法枚举
     *
     * @param code 枚举code
     * @return boolean 是否合法枚举（true-是/false-否）
     */
    public static boolean isLegalEnumCode(String code) {
        boolean flag = false;
        for (DocumentRecordStatusEnum e : DocumentRecordStatusEnum.values()) {
            if (e.getCode().equalsIgnoreCase(code)) {
                flag = true;
                break;
            }
        }
        return flag;
    }

}
